#ifndef __EI_MAI_SMART_QR_H__
#define __EI_MAI_SMART_QR_H__

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif /* End of #ifdef __cplusplus */

#define EI_MADP_SMART_MAX_QR_DET_NUM (30)

typedef struct eiMADP_SMART_QRDet_RESULT_S {
	// det
	EI_U32 u32Rect[4];
	EI_U8 u8Data[256];
	EI_U32 u32Len;

	EI_S32 s32FrameId;
	EI_U64 u64Timestamp;
} EI_MADP_SMART_QRDet_RESULT_S;

typedef struct eiMADP_SMART_QRDet_RESULTS_S {
	EI_S32 s32Num;
	EI_MADP_SMART_QRDet_RESULT_S stQR[EI_MADP_SMART_MAX_QR_DET_NUM];
} EI_MADP_SMART_QRDet_RESULTS_S;

typedef EI_S32 (*EI_MADP_SMART_QR_Det_DataCB)(EI_HANDLE hQRDet,
	EI_MADP_SMART_QRDet_RESULTS_S *pstQRDetResults, EI_VOID *pPrivData);

typedef struct eiMADP_SMART_QR_ATTR_S {
	/* init attr start*/
	EI_HANDLE Vproc;
	EI_HANDLE Vport;
	EI_U32 u32FrameWidth;
	EI_U32 u32FrameHeight;
	EI_BOOL bWithcv;
	EI_MADP_SMART_QR_Det_DataCB pfnDataCB;
	EI_VOID *pPrivateData;
	/* init attr end */

} EI_MADP_SMART_QR_ATTR_S;

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif /* __EI_MAI_SMART_QR_H__ */

